/*
 * Copyright © 2024-2025 Wenze Wei
 *
 * This file is part of StadionOS.
 *
 * This Source Code Form is subject to the terms of the GNU General Public License, v. 2.0.
 * You can obtain a copy of the GPL at
 * https://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
 * the specific language governing rights and limitations under the License.
 */

#include "compositor.h"

static struct onatu_compositor *global_compositor = NULL;

static void handle_signal(int signal) {
    if (global_compositor) {
        printf("Received signal %d, shutting down...\n", signal);
        wl_display_terminate(global_compositor->display);
    }
}

int main(int argc, char **argv) {
    (void)argc;
    (void)argv;

    struct onatu_compositor compositor = {0};
    global_compositor = &compositor;

    signal(SIGINT, handle_signal);
    signal(SIGTERM, handle_signal);

    compositor_init(&compositor);
    return compositor_run(&compositor);
}
